package com.gqz.equip.api;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gqz.common.core.domain.R;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.equip.vo.TEnWzEquipVo;
import com.gqz.equip.vo.TEquipByTypeVo;
import com.gqz.equip.vo.WzEquipTjVo;
import org.springframework.web.bind.annotation.*;

import java.util.List;


/**
 * 物资设备信息
 *
 * @author gqz20
 * @date 2023/02/25
 */
@RequestMapping("/t-en-wz-equip")
public interface TEnWzEquipApi {
    @PostMapping("/{id}")
    public R<List<TEnWzEquipVo>> getById(
            @PathVariable("id") String id);

    @PostMapping("/page")
    public R<Page<TEnWzEquipVo>> page(
            @RequestBody RequestForm<TEnWzEquipVo> requestForm);

    @PostMapping("/count")
    public R<Long> count(
            @RequestBody RequestForm<TEnWzEquipVo> requestForm);

    @PostMapping("/insert")
    public R<Integer> insert(
            @RequestBody List<TEnWzEquipVo> vos);

    @PostMapping("/update")
    public R<Integer> update(
            @RequestBody List<TEnWzEquipVo> vos);

    /**
     * 按设备类型查询
     *
     * @return {@link List}<{@link TEquipByTypeVo}>
     */
    @PostMapping("/queryByEquipType")
    public List<TEquipByTypeVo> queryByEquipType();

    /**
     * 按装备编号查询装备
     *
     * @param equipNos 设备编号
     * @return {@link List}<{@link TEnWzEquipVo}>
     */
    @PostMapping("/queryEquipByEquipNos")
    List<TEnWzEquipVo> queryEquipByEquipNos(@RequestParam String equipNos);


    /**
     * wzEquipTj设备统计
     *
     * @param vos
     * @return {@link R}<{@link WzEquipTjVo}>
     */
    @PostMapping("/wzEquipTj")
    public R<WzEquipTjVo> wzEquipTj(
            @RequestBody TEnWzEquipVo vos);
}
